.simple-image {
  position: relative;
  overflow: hidden;
  background: #f8f8f8;
  
  .image {
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s ease;
    
    &.loaded {
      opacity: 1;
    }
    
    &.error {
      opacity: 0.5;
    }
  }
  
  .image-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(248, 248, 248, 0.8);
    z-index: 1;
    
    .loading-spinner {
      width: 40rpx;
      height: 40rpx;
      border: 4rpx solid #f0f0f0;
      border-top: 4rpx solid #00AF82;
      border-radius: 50%;
      animation: spin 1s linear infinite;
    }
  }
  
  .image-error {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    z-index: 2;
    border: 2rpx dashed #c0c0c0;
    box-sizing: border-box;
    border-radius: 8rpx;
    
    .error-icon {
      font-size: 80rpx;
      margin-bottom: 16rpx;
      opacity: 0.8;
      line-height: 1;
      color: #999;
    }
    
    .error-text {
      font-size: 24rpx;
      color: #666;
      text-align: center;
      font-weight: 500;
      line-height: 1.2;
      word-break: keep-all;
      background: rgba(255, 255, 255, 0.8);
      padding: 8rpx 16rpx;
      border-radius: 20rpx;
      backdrop-filter: blur(10rpx);
    }
  }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.image-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f0f2f5 0%, #e6e8eb 100%);
  border-radius: 8rpx;
  box-sizing: border-box;
  border: 2rpx dashed #d0d0d0;
  
  .placeholder-icon {
    font-size: 60rpx;
    margin-bottom: 12rpx;
    opacity: 0.7;
    color: #999;
  }
  
  .placeholder-text {
    font-size: 22rpx;
    color: #666;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    padding: 6rpx 12rpx;
    border-radius: 16rpx;
    backdrop-filter: blur(8rpx);
  }
}

